package org.jeecg.modules.analysisachievement.achclasses.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.modules.common.basevo.BaseAchieveVo;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: ach_achievement_exam
 * @author: baochangrong
 * @Date:   2022-05-28
 * @Version: V1.0
 */
@Data
@TableName("ach_achievement_exam")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@ToString(callSuper = true)
@SuperBuilder(toBuilder = true)
@ApiModel(value="ach_achievement_exam对象", description="班级总成绩AchClassAchievementExamScoreVo")
public class AchClassAchievementExamScoreVo extends BaseAchieveVo implements Serializable {
    private static final long serialVersionUID = 1L;


    /**班级总人数*/
    @Excel(name = "班级总人数", width = 15)
    @ApiModelProperty(value = "班级总人数")
    private Integer classStudentAllCount;
    /**参加考试人数*/
    @Excel(name = "参加考试人数", width = 15)
    @ApiModelProperty(value = "参加考试人数")
    private Integer classStudentExamCount;
    /**班级个人总分和*/
    @Excel(name = "班级个人总分和", width = 15)
    @ApiModelProperty(value = "班级个人总分和")
    private Double sumClassAchievementScore;
    /**班级平均分*/
    @Excel(name = "班级平均分", width = 15)
    @ApiModelProperty(value = "班级平均分")
    private Double avgClassAchievementScore;
    /**班级成绩标准差*/
    @Excel(name = "班级成绩标准差(越大越波动)", width = 15)
    @ApiModelProperty(value = "班级成绩标准差(越大越波动)")
    private Double stddevClassAchievementScore;
    /**班级成绩最高分*/
    @Excel(name = "班级成绩最高分", width = 15)
    @ApiModelProperty(value = "班级成绩最高分")
    private Double maxClassAchievementScore;
    /**班级成绩最低分*/
    @Excel(name = "班级成绩最低分", width = 15)
    @ApiModelProperty(value = "班级成绩最低分")
    private Double minClassAchievementScore;


    /**标准ID*/
    @Excel(name = "标准名称", width = 15)
    @ApiModelProperty(value = "标准ID")
    private String achievementStandardId;
    /**标准名称*/
    @Excel(name = "标准名称", width = 15)
    @ApiModelProperty(value = "标准名称")
    private String achievementStandardName;
    /**标准用途类型：标准用途类型(用途的子类型，字典码achi_stand_purpose_type),1优良及格标准 2分档标准 3分数线标准 4分段标准 5临界标准 9计分规则*/
    @Excel(name = "标准用途类型：标准用途类型(用途的子类型，字典码achi_stand_purpose_type),1优良及格标准 2分档标准 3分数线标准 4分段标准 5临界标准 9计分规则", width = 15)
    @ApiModelProperty(value = "标准用途类型(用途的子类型，字典码achi_stand_purpose_type),1优良及格标准 2分档标准 3分数线标准 4分段标准 5临界标准 9计分规则")
    @Dict(dicCode = "achi_stand_purpose_type")
    private String achiStandPurposeType;
    /**标准序号*/
    @Excel(name = "标准序号", width = 15)
    @ApiModelProperty(value = "标准序号")
    private Integer achievementStandardOrder;

    /**标准分项目名称(不及格、及格、良好、优秀等）*/
    @Excel(name = "标准分项目ID(不及格、及格、良好、优秀等）", width = 15)
    @ApiModelProperty(value = "标准分项目ID(不及格、及格、良好、优秀等）")
    private String standItemId;
    /**标准分项目名称(不及格、及格、良好、优秀等）*/
    @Excel(name = "标准分项目名称(不及格、及格、良好、优秀等）", width = 15)
    @ApiModelProperty(value = "标准分项目名称(不及格、及格、良好、优秀等）")
    private String standItemName;
    /**标准分项目别名简称*/
    @Excel(name = "标准分项目别名简称", width = 15)
    @ApiModelProperty(value = "标准分项目别名简称")
    private String standItemAliasname;
    /**标准序号*/
    @Excel(name = "段位序号", width = 15)
    @ApiModelProperty(value = "段位序号")
    private Integer standItemOrder;

//    /**班级得分率*/
//    @Excel(name = "班级得分率(%)", width = 15)
//    @ApiModelProperty(value = "得分率(%)")
//    private Double classProjItemScorePercentage;
//    /**人均得分率*/
//    @Excel(name = "人均得分率(%)", width = 15)
//    @ApiModelProperty(value = "人均得分率(%)")
//    private Double avgProjItemScorePercentage;
    /**优良率分析*/
    @Excel(name = "优良率分析", width = 15)
    @ApiModelProperty(value = "优良率分析")
    private String analysisYlv;
    /**优良人数分析*/
    @Excel(name = "优良人数分析", width = 15)
    @ApiModelProperty(value = "优良人数分析")
    private String analysisYlrs;
    /**考试描述*/
    @Excel(name = "考试描述", width = 15)
    @ApiModelProperty(value = "考试描述")
    private String classExamDescribe;
    /**平均值年级排名*/
    @Excel(name = "平均值年级排名", width = 15)
    @ApiModelProperty(value = "平均值年级排名")
    private Integer rankAvgClass;

    /**标准差年级排名*/
    @Excel(name = "标准差年级排名", width = 15)
    @ApiModelProperty(value = "标准差年级排名")
    private Integer rankStddevClass;
    /**优良率年级排名*/
    @Excel(name = "优良率年级排名", width = 15)
    @ApiModelProperty(value = "优良率年级排名")
    private Integer rankYlvClass;
}
